{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 用神经网络的方法来拟合三角函数的数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 一、制造数据\n",
    "加入噪声"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2000, 1)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "x_data = np.linspace(-10,10,2000)[:,np.newaxis]\n",
    "print(np.shape(x_data))\n",
    "y_noise = np.random.normal(0,0.1,x_data.shape)\n",
    "y_data = np.sin(x_data) + y_noise\n",
    "\n",
    "plt.plot(x_data,y_data)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 二、构建BP神经网络\n",
    "### BP Network: \n",
    "1. full connected 2. two hidden layers\n",
    "<img src=\"https://miro.medium.com/max/1400/1*ZB6H4HuF58VcMOWbdpcRxQ.png\" width = \"300\" height = \"200\" alt=\"图片名称\" align=center />\n",
    "\n",
    "### activation functions:\n",
    "\n",
    "* sigmoind && tanh\n",
    "<img src=\"http://ronny.rest/media/blog/2017/2017_08_16_tanh/tanh_v_sigmoid.jpg\" width = \"400\" height = \"400\" alt=\"图片名称\" align=center />\n",
    "\n",
    "* relu && leaky relu:\n",
    "<img src=\"https://blog.paperspace.com/content/images/2018/06/ReLu.png\" width = \"400\" height = \"400\" alt=\"图片名称\" align=center />"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING: Logging before flag parsing goes to stderr.\n",
      "W0718 13:43:17.946912 14168 deprecation.py:506] From <ipython-input-2-ad21d9648233>:18: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n"
     ]
    }
   ],
   "source": [
    "def weight_variable(shape):\n",
    "    initial = tf.truncated_normal(shape, stddev=0.1)\n",
    "    return tf.Variable(initial)\n",
    "\n",
    "def bias_variable(shape):\n",
    "    initial = tf.constant(0.1, shape=shape)\n",
    "    return tf.Variable(initial)\n",
    "\n",
    "#占位\n",
    "x = tf.placeholder(tf.float32,[None,1],name='x')\n",
    "y = tf.placeholder(tf.float32,[None,1],name='y')\n",
    "keep_prob = tf.placeholder(tf.float32,name='keep_prob')\n",
    "\n",
    "#first fully layer\n",
    "w_fc1 = weight_variable([1,2048])\n",
    "b_fc1 = bias_variable([2048])\n",
    "h_fc1 = tf.nn.relu(tf.nn.bias_add(tf.matmul(x,w_fc1),b_fc1))\n",
    "h_fc1_drop = tf.nn.dropout(h_fc1,keep_prob)\n",
    "\n",
    "#second fully layer\n",
    "w_fc2 = weight_variable([2048,2048])\n",
    "b_fc2 = bias_variable([2048])\n",
    "h_fc2 = tf.nn.relu(tf.nn.bias_add(tf.matmul(h_fc1_drop,w_fc2),b_fc2))\n",
    "h_fc2_drop = tf.nn.dropout(h_fc2,keep_prob)\n",
    "\n",
    "#output layer\n",
    "w_fc3 = weight_variable([2048,1])\n",
    "b_fc3 = bias_variable([1])\n",
    "y_output = tf.nn.bias_add(tf.matmul(h_fc2_drop,w_fc3),b_fc3,name='y_output')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 三、定义损失函数和优化器\n",
    "#### Optimizer：\n",
    "* Gradient Descent：梯度下降法是一个一阶最优化算法，通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值，必须向函数上当前点对应梯度的反方向的规定步长距离点进行迭代搜索。\n",
    "* Momentum：SGD 在 ravines 的情况下容易被困住， ravines 就是曲面的一个方向比另一个方向更陡，这时 SGD 会发生震荡而迟迟不能接近极小值\n",
    "* Adagrad(Adaptive gradient algorithm)：这个算法就可以对低频的参数做较大的更新，对高频的做较小的更新，也因此，对于稀疏的数据它的表现很好，很好地提高了 SGD 的鲁棒性\n",
    "* Adadelta：这个算法是对 Adagrad 的改进，和 Adagrad 相比，就是分母的 G 换成了过去的梯度平方的衰减平均值，指数衰减平均值\n",
    "* RMSprop：RMSprop 和 Adadelta 都是为了解决 Adagrad 学习率急剧下降问题的，\n",
    "* Adam(Adaptive Moment Estimation)：这个算法是另一种计算每个参数的自适应学习率的方法。相当于 RMSprop + Momentum。实践表明，Adam 比其他适应性学习方法效果要好。\n",
    "<br><br>\n",
    "<table><tr>\n",
    "<td><img src=\"https://images2018.cnblogs.com/blog/1192699/201803/1192699-20180311105558593-251578131.gif\" width = \"300\" height = \"200\" alt=\"Optimizer\" align=center /></td>\n",
    "<td><img src=\"https://images2018.cnblogs.com/blog/1192699/201803/1192699-20180311110108768-2113908893.gif\" width = \"300\" height = \"200\" alt=\"Optimizer\" align=center /></td>\n",
    "</tr></table>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "loss = tf.reduce_mean(tf.square(y_output-y_data))\n",
    "train_step = tf.compat.v1.train.AdamOptimizer(1e-4).minimize(loss)\n",
    "\n",
    "real = tf.reshape(y,[-1, 1])\n",
    "correct_prediction = tf.equal(y_output,real)\n",
    "correct_prediction = tf.cast(correct_prediction, tf.float32)\n",
    "accuracy = tf.reduce_mean(correct_prediction,name='accuracy')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 四、开始运算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "step:100,train loss:0.375647,accuracy:0.000000\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "step:200,train loss:0.427975,accuracy:0.000000\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "step:300,train loss:0.569040,accuracy:0.000000\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "step:400,train loss:0.334278,accuracy:0.000000\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-4-e9eaea0c9b68>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      4\u001b[0m     \u001b[0mtrain_loss\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m     \u001b[1;32mwhile\u001b[0m \u001b[0mtrain_loss\u001b[0m\u001b[1;33m>\u001b[0m\u001b[1;36m0.001\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m         \u001b[0msess\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtrain_step\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mfeed_dict\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mx_data\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0my_data\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkeep_prob\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;36m0.75\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      7\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mstep\u001b[0m\u001b[1;33m%\u001b[0m\u001b[1;36m100\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      8\u001b[0m             \u001b[0mpred\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0macc\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtrain_loss\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msess\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0my_output\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0maccuracy\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mloss\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mfeed_dict\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mx_data\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0my_data\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkeep_prob\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;36m1.00\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\11197\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36mrun\u001b[1;34m(self, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[0;32m    948\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    949\u001b[0m       result = self._run(None, fetches, feed_dict, options_ptr,\n\u001b[1;32m--> 950\u001b[1;33m                          run_metadata_ptr)\n\u001b[0m\u001b[0;32m    951\u001b[0m       \u001b[1;32mif\u001b[0m \u001b[0mrun_metadata\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    952\u001b[0m         \u001b[0mproto_data\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtf_session\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mTF_GetBuffer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrun_metadata_ptr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\11197\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_run\u001b[1;34m(self, handle, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[0;32m   1171\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mfinal_fetches\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mfinal_targets\u001b[0m \u001b[1;32mor\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mhandle\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mfeed_dict_tensor\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1172\u001b[0m       results = self._do_run(handle, final_targets, final_fetches,\n\u001b[1;32m-> 1173\u001b[1;33m                              feed_dict_tensor, options, run_metadata)\n\u001b[0m\u001b[0;32m   1174\u001b[0m     \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1175\u001b[0m       \u001b[0mresults\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\11197\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_do_run\u001b[1;34m(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)\u001b[0m\n\u001b[0;32m   1348\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mhandle\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1349\u001b[0m       return self._do_call(_run_fn, feeds, fetches, targets, options,\n\u001b[1;32m-> 1350\u001b[1;33m                            run_metadata)\n\u001b[0m\u001b[0;32m   1351\u001b[0m     \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1352\u001b[0m       \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_do_call\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_prun_fn\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhandle\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfeeds\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfetches\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\11197\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_do_call\u001b[1;34m(self, fn, *args)\u001b[0m\n\u001b[0;32m   1354\u001b[0m   \u001b[1;32mdef\u001b[0m \u001b[0m_do_call\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfn\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1355\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1356\u001b[1;33m       \u001b[1;32mreturn\u001b[0m \u001b[0mfn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1357\u001b[0m     \u001b[1;32mexcept\u001b[0m \u001b[0merrors\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mOpError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1358\u001b[0m       \u001b[0mmessage\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcompat\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mas_text\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0me\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmessage\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\11197\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_run_fn\u001b[1;34m(feed_dict, fetch_list, target_list, options, run_metadata)\u001b[0m\n\u001b[0;32m   1339\u001b[0m       \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_extend_graph\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1340\u001b[0m       return self._call_tf_sessionrun(\n\u001b[1;32m-> 1341\u001b[1;33m           options, feed_dict, fetch_list, target_list, run_metadata)\n\u001b[0m\u001b[0;32m   1342\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1343\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m_prun_fn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mhandle\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\11197\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_call_tf_sessionrun\u001b[1;34m(self, options, feed_dict, fetch_list, target_list, run_metadata)\u001b[0m\n\u001b[0;32m   1427\u001b[0m     return tf_session.TF_SessionRun_wrapper(\n\u001b[0;32m   1428\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_session\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0moptions\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtarget_list\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1429\u001b[1;33m         run_metadata)\n\u001b[0m\u001b[0;32m   1430\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1431\u001b[0m   \u001b[1;32mdef\u001b[0m \u001b[0m_call_tf_sessionprun\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhandle\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "with tf.Session() as sess:\n",
    "    sess.run(tf.compat.v1.global_variables_initializer())\n",
    "    step = 1\n",
    "    train_loss=1\n",
    "    while train_loss>0.001:\n",
    "        sess.run(train_step,feed_dict={x: x_data, y: y_data, keep_prob: 0.75})\n",
    "        if step%100 == 0:\n",
    "            pred,acc,train_loss = sess.run([y_output,accuracy,loss],feed_dict={x: x_data, y: y_data, keep_prob: 1.00})\n",
    "            print ('step:%d,train loss:%f,accuracy:%f' % (step,train_loss,acc))\n",
    "            plt.plot(x_data,y_data,'b',x_data,pred,'r')\n",
    "            plt.show()\n",
    "        step += 1"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
